package com.turing.post.common.util;

import java.math.BigInteger;

import javax.ejb.Local;
import javax.ejb.Remote;

import com.turing.post.util.PCPSApplicationException;

/**
 * 权限控制业务接口
 * 
 * @author zxp
 * @Dec 17, 2012
 */
@Remote
@Local
public interface SysOpAclDao {

	/**
	 * 根据主键查询
	 * @param sysOpAcl
	 *            控制对象
	 * @return 控制对象
	 */
	public SysOpAcl getSysOpAclByPrimaryKey(SysOpAcl sysOpAcl);

	/**
	 * 插入角色权限
	 * @param sysOpAcl
	 *            控制对象
	 */
	public void insertSysOpAcl(SysOpAcl sysOpAcl)
			throws PCPSApplicationException;

	/**
	 * 插入前根据角色编号删除服务列表
	 * @param roleId
	 *            角色编号
	 * @return 执行条数
	 * @throws PCPSApplicationException
	 */
	public int deleteSysOpAcl(BigInteger roleId)
			throws PCPSApplicationException;

	/**
	 * 按角色按组删除
	 * 
	 * @param menuGrpId
	 *            菜单组编号
	 * @param roleId
	 *            角色编号
	 */
	public void deleteSysOpAclByMenuGrpId(Integer menuGrpId, BigInteger roleId)
			throws PCPSApplicationException;
}
